Congestion is the networking term that refers to a situation where too much network traffic is clogging network pathways. Common causes of congestion may include too many users on a single network segment or collision domain, high demand from bandwidth-intensive networked applications, a rapidly growing number of users accessing the Internet, and the increased power of personal computers (PCs) and servers, etc. “Transient congestion” refers to congestion caused by temporary oversubscription of a network link due to a burst of packets arriving to a buffer provided at a network device. “Sustained congestion” refers to a situation where a long-term arrival rate of packets at a network device exceeds the capacity of the device.
Some existing systems may be configured to handle congestion at the device level or at the transport layer level. Device level algorithms may be utilized to alleviate transient congestion, while the transport level algorithms may be utilized to alleviate sustained congestion. Device level algorithms typically require dropping packets with increasing probability as buffer congestion increases, e.g., if a packet arrives at a full buffer, the packet is dropped. Transport level algorithms may be configured to utilize marked packets to adjust transmission rate of source network devices.
Some common indicators of network traffic congestion include increased network delay. All networks have a limited data-carrying capacity. When the load is light, the average time from when a host submits a packet for transmission until it is actually sent on the network is relatively short. When many users are vying for connections and communicating, the average delay increases. This delay has the effect of making the network appear “slower,” because it takes longer to send the same amount of data under congested conditions than it does when the load is light.
In extreme circumstances, an application can fail completely under a heavy network load. Sessions may timeout and disconnect, and applications or operating systems may crash, requiring a system restart.